Should Static Search Trees Ever Be Unbalanced?

نویسندگان

  • Prosenjit Bose
  • Karim Douïeb
چکیده

In this paper we study the question of whether or not a static search tree should ever be unbalanced. We present several methods to restructure an unbalanced k-ary search tree T into a new tree R that preserves many of the properties of T while having a height of log k n+1 which is one unit off of the optimal height. More specifically, we show that it is possible to ensure that the depth of the elements in R is no more than their depth in T plus at most log k log k n+2. At the same time it is possible to guarantee that the average access time P (R) in tree R is no more than the average access time P (T ) in tree T plus O(log k P (T )). This suggests that for most applications, a balanced tree is always a better option than an unbalanced one since the balanced tree has similar average access time and much better worst case access time.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

ar X iv : 1 00 6 . 37 15 v 1 [ cs . D S ] 1 8 Ju n 20 10 Should Static Search Trees Ever Be Unbalanced ?

In this paper we study the question of whether or not a static search tree should ever be unbalanced. We present several methods to restructure an unbalanced k-ary search tree T into a new tree R that preserves many of the properties of T while having a height of log k n+1 which is one unit off of the optimal height. More specifically, we show that it is possible to ensure that the depth of the...

متن کامل

Using HDDT to avoid instance propagation in unbalanced and evolving data streams

Hellinger distance has been successfully used as a tree splitting criterion in Hellinger Distance Decision Trees [10] (HDDT) for unbalanced static datasets. In unbalanced data streams, state-of-the-art techniques use instance propagation and standard decision trees to cope with the unbalanced problem. However it is not always possible to revisit/store old instances of a stream. We solve this pr...

متن کامل

Automatic Functional Correctness Proofs for Functional Search Trees

In a new approach, functional correctness specifications of insert/update and delete operations on search trees are expressed on the level of lists by means of an inorder traversal function that projects trees to lists. With the help of a small lemma library, functional correctness and preservation of the search tree property are proved automatically (in Isabelle/HOL) for a range of data struct...

متن کامل

Building Optimal Binary Search Trees from Sorted Values in O(N) Time

First, we present a simple algorithm which, given a sorted sequence of node values, can build a binary search tree of minimum height in O(N) time. The algorithm works with sequences whose length is, a priori, unknown. Previous algorithms [1-3] required the number of elements to be known in advance. Although the produced trees are of minimum height, they are generally unbalanced. We then show ho...

متن کامل

Efficient Search in Unbalanced, Randomized Peer-To-Peer Search Trees

Scalable mechanisms to support efficient key-based search in distributed systems are an important part of the infrastructure of peer-to-peer systems and global information systems. They received substantial attention both in information and communication systems research. A particularly important class of approaches is based on a principle of scalable distribution of binary search trees that ha...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010